Terraform から Cloud Load Balancing の url_map や backend service を削除できない問題
replace や destroy が発生する時にコケる
Error: Error when reading or editing BackendService: googleapi: Error 400: The backend_service resource 'projects/****/global/backendServices/sample' is already being used by 'projects/****/global/urlMaps/****', resourceInUseByAnotherResource
backend service の削除を url map の更新より先に試みて必ず失敗する
(url map から参照されている backend service は削除できない)
コンソールから削除しようにも、コンソールで提供されていない機能を使っているとポチポチできない
IAP も CertMap も普通に使う機能やろ...
https://gyazo.com/f6b10f298f47b1341fc98f246508e1fa
backend service を state から削除して apply して url map を更新して
(url_map 変更時に replace/destroy 発生させないようにするのが目的)
$ terraform state rm 'google_compute_backend_service.sample'
($ terraform state rm 'google_compute_region_network_endpoint_group.sample')
手動で backend service & NEG を削除する、とよいのだが
CLI からできないのはなんで〜
$ gcloud compute backend-services list
見えるが
$ gcloud compute backend-services delete sample
削除しようとすると失敗する
$ gcloud compute network-endpoint-groups list
$ gcloud compute network-endpoint-groups delete sample
NEG もおなじ
コンソールからなら消せる...
待ち時間長めだからなんか裏でやってそうではある